package com.itheima.day20.demo07;

import java.util.ArrayList;
import java.util.function.Predicate;

/**
 * 数组当中有多条“姓名+性别”的信息如下，
 * 请通过`Predicate`接口的拼装将符合要求的字符串筛选到集合`ArrayList`中，需要同时满足两个条件：
 * <p>
 * 1. 必须为女生；
 * 2. 姓名为4个字。
 */
public class DemoPredicate {
    public static void main(String[] args) {
        String[] array = {"迪丽热巴,女", "古力娜扎,女", "马尔扎哈,男", "赵丽颖,女"};

        ArrayList<String> list = getArrayList(array, e -> e.length() == 4, e -> e.equals("女"));
        System.out.println(list);
    }

    public static ArrayList<String> getArrayList(String[] str, Predicate<String> one, Predicate<String> two) {
        ArrayList<String> list = new ArrayList<>();
        for (String s : str) {
            String[] split = s.split(",");
            boolean b = one.test(split[0]) && two.test(split[1]);
            if (b)
                list.add(s);
        }
        return list;
    }
}
